本发明公开了一种基于多描述视频编解码方法、装置和系统编码方法,包括如下步骤:奇数帧偶数帧被分开来产生初始的描述并编码;利用不同描述间的宏块级的相关性产生不同模式的边信息并编码;信道传输。本发明还公开了一种基于多描述视频编码装置,及解码方法、装置和系统,可用于实时视频传输的场合。
1.一种基于多描述视频编码方法,其特征在于:包括如下步骤:奇数帧偶数帧被分开来产生初始的描述并编码;利用不同描述间的宏块级的相关性产生不同模式的边信息并编码;信道传输。
2.如权利要求1所述的一种基于多描述视频编码方法,其特征在于:所述奇数帧偶数帧被分开来产生初始的描述并编码,具体为奇偶帧分离,奇偶帧分别利用描述内相关性,采用标准编码算法编码。
3.如权利要求2所述的一种基于多描述视频编码方法,其特征在于:所述标准编码算法为H.264编码。
4.权利要求2所述的一种基于多描述视频编码方法,其特征在于:描述内的相关性ρ
intra依赖于同一描述内的运动补偿的相关系数,是当前块B
k和它的前一运动补偿块B′
k-1的相关系数,
ρ intra ( B k , B k - 1 ′ ) = Cov ( B k , B k - 1 ′ ) D ( B k ) D ( B k - 1 ′ ) , ]]>B′
k-1是B
k在帧k-1中的运动补偿块,如果ρ
intra(B
k,B′
k-1)>T
3,则块B
k应用Skip模式进行编码。
5.如权利要求1所述的一种基于多描述视频编码方法,其特征在于:所述利用不同描述间的宏块级的相关性产生不同模式的边信息并编码,如果是使用奇数帧估计偶数帧,先计算出每一对宏块的相关系数,
ρ inter ( B k , B k * ) = Cov ( B k , B k * ) D ( B k ) D ( B k * ) , ]]>公式中,B
k是偶数帧k中的宏块,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="48"/>是估计出来的帧k中的宏块,B
k和
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="48"/>的协方差是
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="282"/>它们的方差依次是D(B
k),
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="159"/>接下来,根据描述间宏块级相关系数,三种冗余的分配方法如下:如果
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="352"/>说明相关系数在单路重建中能很好的估计出丢失的偶数帧中的块;这种情况下,不用额外的插入冗余,该模式定义为Modexa01;如果
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="459"/>则MCI很难估计准确的运动矢量,因此,偶数帧中宏块的真实的运动矢量就被当做是重要的边信息,该模式定义为Modexa02,在此我们运用双向运动估计在奇数帧中找到运动矢量;如果
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="367"/>说明有一些很不规则的运动出现,更好的估计需要更多的边信息,在这种情况下,不仅需要Modexa02中的运动矢量,相应的残差也被当做边信息,该模式定义为Modexa03;偶数帧估计奇数帧和上述奇数帧估计偶数帧对应。
6.一种基于多描述视频编码装置,其特征在于:包括:奇数帧偶数帧被分开来产生初始的描述并编码模块,用于将视频序列进行奇偶帧分离,奇偶帧分别进行描述内相关性计算然后再进行标准编码;利用不同描述间的宏块级的相关性产生不同模式的边信息并编码模块,用于通过计算奇偶描述间相关性产生不同模式的边信息编码;信道模块,用于编码后信号传输。
7.一种基于多描述视频解码方法,其特征在于:如果两个信道都正常工作,两路比特流就能解码成两路视频子序列,然后这两路视频子序列就能重构出中心视频序列;如果只有一个信道正常工作,单路解码器就会根据不同的模式来估计丢失的信息,在Mode1中,用MCI的方法能直接重建出丢失的帧,这里所运用的MCI方法采用双向运动估计的,我们用f来表示帧f
k和帧f
k+1之间的估计帧,用
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="149"/>来表示像素移动位置的运动矢量,为了避免重构图像中的空洞,我们可以计算出一个初步的重构帧来作为背景,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="588"/>而且,前向运动补偿和后向运动补偿分别对应帧f
k+1和帧f
k,为了解决MCI中重叠的问题,重叠像素的平均值被用来作为运动补偿,然后这个初步的背景将会被
f ( P r ) = 1 2 ( f k ( P r - 1 2 MV ( P r ) ) + f k + 1 ( P r + 1 2 MV ( P r ) ) ) ]]>得到的像素来代替,在Modexa02和Modexa03中,边信息如运动矢量和残差将被用于进一步提高重建的质量。
8.一种基于多描述视频解码装置,其特征在于,包括,标准解码器:用于解码;利用边信息重构,用于重构出奇偶帧;帧交织,用于奇偶帧交织。
9.一种基于多描述视频编解码系统,其特征在于,包括权利要求6所述的一种基于多描述视频编码装置和权利要求8所述的一种基于多描述视频解码装置。
技术领域本发明涉及视频编解码技术领域,尤其涉及一种基于多描述视频编码、解码方法、装置及系统。
背景技术近年来随着因特网的爆炸式发展,视频传输的应用越来越广泛。然而,网络的拥塞、随机比特错误和数据包的丢失可能将导致视频压缩数据质量的严重下降,这就给视频传输带来了极大的挑战。特别是在需要实时视频传输的场合,反馈重传等技术由于延迟往往不能满足实时性需求。因此,急需开发一种视频编解码系统,它不仅要有高的压缩效率还要保证传输的鲁棒性。多描述编码作为一种能在易错信道上提高传输的鲁棒性的技术,吸引了越来越多学者的研究。可以假设在信源和信宿之间存在着很多的信道,不可能所有的信道同时在一个视频帧出错,多描述编码是在这个假设的基础上提出来的。在编码端信源产生多个比特流(称之为描述),每个比特流具有同样的优先级,在多个信道上进行传输。在解码端,每一个描述都能被独立的解码,重建用户可接收质量的视频序列;随着接收到描述数量的增加,重建视频序列的质量也随之提高。本专利主要针对两信道的情况。在通常的两信道的情形下,接收到全部两路描述而产生的失真称为中心失真,接收到某一个描述而产生的失真称为单路失真。多描述视频编码的基本思想是如何利用描述的冗余信息来提高传输的鲁棒性。因此,在多描述视频编码中需要一些必要的冗余,尽管这样会降低压缩效率。在过去的几年里,设计一个多描述编解码的方案的主要目标是在传输比特率和重建质量之间折中。经典的多描述编码方案是利用变换和量化。根据多描述标量量化的原则,在“V.A.Vaishampayanxa0andxa0S.John,“Balancedxa0interf
ramexa0multiplexa0des
criptionxa0Videoxa0compression,”inxa0Proceedingsxa0ofxa0thexa0IEEExa0Internationalxa0Conferencexa0onxa0Imagexa0Processing(ICIP’99),Vol.3,pp.812-816,Kobe,Japan,October1999”中设计了多描述视频编码方案。多描述相关性变换在“A.R.Reibman,H.Jafarkhani,Y.Wang,M.T.Orchard,andxa0R.Puri,“Multiplexa0des
criptionxa0codingxa0forxa0Videoxa0usingxa0motionxa0compensatedxa0prediction,”inxa0Proceedingsxa0ofxa0thexa0IEEExa0Internationalxa0Conferencexa0onxa0Imagexa0Processing(ICIP’99),Vol.3,pp.837-841,Kobe,Japan,Octoberxa01999”中被用来设计运动补偿多描述视频编码。尽管上述方法取得了较好的实验结果,但是这些方案不能兼容与广泛应用的标准编解码器,如H.26x和MPEG系列。为了解决这个问题,在“N.Concixa0andxa0F.G.B.Dexa0Natale,“Multiplexa0des
criptionxa0Videoxa0codingxa0usingxa0coefficientsxa0orderingxa0andxa0interpolation,”Signalxa0Processing:Imagexa0Communication,Vol.22,no.3,pp.252-265,2007”中多描述视频编码通过应用H.264/AVC标准中的先进的视频编码工具来引入描述间的冗余信息。此外,很多方案都是针对于某一种确定的标准编解码器而提出的,如H.264/AVC。尤其是“L.Peraldo,E.Baccaglini,E.Magli,G.Olmo,R.Ansari,Y.Yao,“Slice-levelxa0rate-distortionxa0optimizedxa0multiplexa0xa0des
criptionxa0codingxa0forxa0H.264/AVC,”IEEExa0Internationalxa0Conferencexa0onxa0Acousticsxa0Speechxa0andxa0Signalxa0Processing(ICASSP’10),pp.2330-2333,2010.”和“C.Lin,T.Tillo,Yxa0Zhao,B.Jeon,“Multiplexa0des
criptionxa0codingxa0forxa0H.264/AVCWithxa0redundancyxa0allocationxa0atxa0macroxa0blockxa0level,”IEEExa0Trans.onxa0Circuitsxa0andxa0Systemsxa0forxa0Videoxa0Technology,vol.21,No.5,pp.589-600,2011”,为了提高性能,针对H.264/AVC采用了片级和宏块级的的多描述视频编码方案。
发明内容本发明解决的技术问题在于多描述视频编码的兼容性问题。为了解决以上问题,一种基于多描述视频编码方法,包括如下步骤:奇数帧偶数帧被分开来产生初始的描述并编码;利用不同描述间的宏块级的相关性产生不同模式的边信息并编码;信道传输。进一步,作为一种优选方案,所述奇数帧偶数帧被分开来产生初始的描述并编码,具体为奇偶帧分离,奇偶帧分别利用描述内相关性,采用标准编码算法编码。进一步,作为一种优选方案,所述标准编码算法为H.264编码。进一步,作为一种优选方案,描述内的相关性ρ
intra依赖于同一描述内的运动补偿的相关系数,是当前块B
k和它的前一运动补偿块B′
k-1的相关系数,
ρ intra ( B k , B k - 1 ′ ) = Cov ( B k , B k - 1 ′ ) D ( B k ) D ( B k - 1 ′ ) , ]]>B′
k-1是B
k在帧k-1中的运动补偿块,如果ρ
intra(B
k,B′
k-1)>T
3,则块B
k应用Skip模式进行编码。进一步,作为一种优选方案,所所述利用不同描述间的宏块级的相关性产生不同模式的边信息并编码,如果是使用奇数帧估计偶数帧,先计算出每一对宏块的相关系数,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="699"/>公式中,B
k是偶数帧k中的宏块,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="48"/>是估计出来的帧k中的宏块,B
k和
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="48"/>的协方差是
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="298"/>它们的方差依次是D(B
k),
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="160"/>接下来,根据描述间宏块级相关系数,三种冗余的分配方法如下:如果
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="352"/>说明相关系数在单路重建中能很好的估计出丢失的偶数帧中的块;这种情况下,不用额外的插入冗余,该模式定义为Modexa01;如果
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="459"/>则MCI很难估计准确的运动矢量,因此,偶数帧中宏块的真实的运动矢量就被当做是重要的边信息,该模式定义为Modexa02,在此我们运用双向运动估计在奇数帧中找到运动矢量;如果
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="366"/>说明有一些很不规则的运动出现,更好的估计需要更多的边信息,在这种情况下,不仅需要Modexa02中的运动矢量,相应的残差也被当做边信息,该模式定义为Modexa03;偶数帧估计奇数帧和上述奇数帧估计偶数帧对应。本发明还公开了一种基于多描述视频编码装置,包括:奇数帧偶数帧被分开来产生初始的描述并编码模块,用于将视频序列进行奇偶帧分离,奇偶帧分别进行描述内相关性计算然后再进行标准编码;利用不同描述间的宏块级的相关性产生不同模式的边信息并编码模块,用于通过计算奇偶描述间相关性产生不同模式的边信息编码;信道模块,用于编码后信号传输。本发明还公开了一种基于多描述视频解码方法,如果两个信道都正常工作,两路比特流就能解码成两路视频子序列,然后这两路视频子序列就能重构出中心视频序列;如果只有一个信道正常工作,单路解码器就会根据不同的模式来估计丢失的信息,在Modexa01中,用MCI的方法能直接重建出丢失的帧,这里所运用的MCI方法采用双向运动估计的,我们用f来表示帧f
k和帧f
k+1之间的估计帧,用
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="149"/>来表示像素移动位置的运动矢量,为了避免重构图像中的空洞,我们可以计算出一个初步的重构帧来作为背景,
f ( P r ) = 1 2 ( f k ( P r ) + f k + 1 ( P r ) ) , ]]>而且,前向运动补偿和后向运动补偿分别对应帧f
k+1和帧f
k,为了解决MCI中重叠的问题,重叠像素的平均值被用来作为运动补偿,然后这个初步的背景将会被
f ( P r ) = 1 2 ( f k ( P r - 1 2 MV ( P r ) ) + f k + 1 ( P r + 1 2 MV ( P r ) ) ) ]]>得到的像素来代替,在Modexa02和Modexa03中,边信息如运动矢量和残差将被用于进一步提高重建的质量。本发明还公开了一种基于多描述视频解码装置,包括,标准解码器:用于解码;利用边信息重构,用于重构出奇偶帧;帧交织,用于奇偶帧交织。本发明还公开了一种基于多描述视频编解码系统,包括权利要求6所述的一种基于多描述视频编码装置和权利要求8所述的一种基于多描述视频解码装置。通过描述内和描述间的冗余的有效分配来获得更好的比特率和传输鲁棒性。为了简单起见,在编码端奇数帧偶数帧被分开来产生初始的描述,这能保证和当前的编解码器的兼容性,如H.26x或者MPEG系列。然后利用不同描述间的宏块级的相关性产生不同模式的边信息。在解码端,这些边信息有助于更好地估计丢失信息从而获得较好的解码重建质量。另外,为了保证较高的压缩效率,利用描述内宏块级相关性实现灵活的Skip模式。
附图说明当结合附图考虑时,通过参照下面的详细描述,能够更完整更好地理解本发明以及容易得知其中许多伴随的优点,但此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,其中:图1为实施例编码方法流程图;图2为实施例编码装置框图;图3为系统实施例框图;图4为“Mobile.qcif”序列效果图;图5为每帧的单路重建效果图;图6为“Paris.cif”序列效果图。
具体实施方式以下参照图1-6对本发明的实施例进行说明。为使上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。实施例1如图1所示,一种基于多描述视频编码方法,包括如下步骤:S1、奇数帧偶数帧被分开来产生初始的描述并编码;S2、利用不同描述间的宏块级的相关性产生不同模式的边信息并编码;S3、信道传输。实施例2如图2所示,一种基于多描述视频编码装置,包括:奇数帧偶数帧被分开来产生初始的描述并编码模块1,用于将视频序列进行奇偶帧分离,奇偶帧分别进行描述内相关性计算然后再进行标准编码;利用不同描述间的宏块级的相关性产生不同模式的边信息并编码模块2,用于通过计算奇偶描述间相关性产生不同模式的边信息编码;信道模块3,用于编码后信号传输。实施例3如图3所示,一种基于多描述视频编解码系统:第一步,奇偶帧分离为简单起见,先奇偶帧分离11,将原始的视频序列分成奇数帧和偶数帧子序列,使得每个子序列具有广泛的兼容性。在这里,两个视频子序列,也就是奇数帧和偶数帧可以被当做原始的描述。而且,原始视频序列能经过多次时域抽样来产生多描述。本专利主要针对两描述的情况。第二步,边信息的产生如果只收到奇数帧或者偶数帧,由于错误的估计和块的不规则运动,单路重建失真很严重。因此,为了更好的估计质量,描述间的宏块级相关性21就会用来产生边信息。在此,以奇数帧为例。我们的任务是在解码端用偶数帧来产生一些有用的边信息。首先,根据运动补偿插值法(motion-compensatedxa0interpolation,简称MCI),在编码端可以使用奇数帧估计偶数帧。处理过程和单路解码的过程类似。这个MCI方法具体将在第五步中说明。估计得到的重建帧的每一个宏块将要和真实的偶数帧对应位置上的宏块作比较。因此,我们能计算出每一对宏块的相关系数,用公式(1)即可。
ρ inter ( B k , B k * ) = Cov ( B k , B k * ) D ( B k ) D ( B k * ) - - - ( 1 ) ]]> 公式中,B
k是偶数帧k中的宏块,
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="48"/>是估计出来的帧k中的宏块。B
k和
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="48"/>的协方差是
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="283"/>它们的方差依次是D(B
k),
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="163"/>接下来,根据描述间宏块级相关系数,三种冗余的分配方法如下:如果
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="352"/>说明相关系数在单路重建中能很好的估计出丢失的偶数帧中的块;这种情况下,不用额外的插入冗余,该模式定义为Modexa01;如果
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="459"/>则MCI很难估计准确的运动矢量。因此,偶数帧中宏块的真实的运动矢量就被当做是重要的边信息,该模式定义为Modexa02,在此我们运用双向运动估计在奇数帧中找到运动矢量。如果
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="366"/>说明有一些很不规则的运动出现,更好的估计需要更多的边信息。在这种情况下,不仅需要Modexa02中的运动矢量,相应的残差也被当做边信息,该模式定义为Modexa03.边信息也会通过相应的信道被传输。第三步,灵活的Skip模式在第二步中,引入的冗余可能影响压缩效率。因此,每个描述内部的冗余应该被有效的去除掉。本专利中提出了一种灵活的Skip模式,这样能很好的利用描述内宏块级的相关性(12,14)。描述内的相关性(标记为ρ
intra)依赖于同一描述内的运动补偿的相关系数。因此ρ
intra是当前块B
k和它的前一运动补偿块B′
k-1的相关系数,
ρ intra ( B k , B k - 1 ′ ) = Cov ( B k , B k ′ ) D ( B k ) D ( B k - 1 ′ ) - - - ( 2 ) ]]> B′
k-1是B
k在帧k-1中的运动补偿块。如果ρ
intra(B
k,B′
k-1)>T
3,则块Bk能应用Skip模式进行编码。因此,灵活的Skip模式能够与描述内的相关系数相适应。相对于固定频率的Skip模式,自适应的Skip模式能较好地保持帧间的时间相关性,如果描述中信息丢失,解码端能获得更好的错误掩盖方法。第四步:标准编码用当前标准的编解码器(13,15)每一个视频序列都能够编码成比特流。这里,我们选择H.264编码器,很明显提出的方案具有广泛的兼容性。此外,在Modexa03中出现的残差也能够用H.264帧内编码进行压缩。送入信道(31,32)传输。第五步:解码端的视频重建这里我们要考虑解码的两种情况,即中心解码和单路解码。先进行标准解码器(41,42)解码,再利用边信息重构(43,44),及帧交织51恢复视频信号。如果两个信道都正常工作,两路比特流就能解码成两路视频子序列,然后这两路视频子序列就能重构出中心视频序列。由于描述内宏块级相关性的存在,自适应的Skip模式就能抵消一部分冗余边信息的影响。因此,压缩效率不会随着冗余的增加而迅速下降。如果只有一个信道正常工作,单路解码器就会根据不同的模式来估计丢失的信息。在Modexa01中,用MCI的方法能直接重建出丢失的帧。这里所运用的MCI方法采用双向运动估计的。在重建帧内有可能会导致像素的重叠和空洞。我们用f来表示帧f
k和帧f
k+1之间的估计帧,用
![]()
ntent="drawing" img-format="tif" inline="yes" orientation="portrait" wi="149"/>来表示像素移动位置的运动矢量。为了避免重构图像中的空洞,我们可以计算出一个初步的重构帧来作为背景。
f ( P r ) = 1 2 ( f k ( P r ) + f k + 1 ( P r ) ) - - - ( 3 ) ]]> 而且,前向运动补偿和后向运动补偿分别对应帧f
k+1和帧f
k。为了解决MCI中重叠的问题,重叠像素的平均值被用来作为运动补偿。然后这个初步的背景将会被(4)得到的像素来代替。
f ( P r ) = 1 2 ( f k ( P r - 1 2 MV ( P r ) ) + f k + 1 ( P r + 1 2 MV ( P r ) ) ) - - - ( 4 ) ]]> 在Modexa02和Modexa03中,边信息如运动矢量和残差将被用于进一步提高重建的质量。实施例4两个标准视频序列“Mobile.qcif”和“Paris.cif”被用来测试我们所提出的系统。为了公平比较,对于所有比较的方案采用同样的实验设置,即在H.264JM软件中使用同样的编解码参数设置。并且对于丢失帧采用了同样的MCI方法。这里的比特率为两路描述总的比特率,单路失真为两个单路解码器的平均PSNR值。图4给出了“Mobile.qcif”序列在总比特率为100kbps到800kbps范围内所提出方案与其他方案的单路及中心重建质量比较。这里传统方案指的是未经过预处理直接进行奇偶帧分离的方案。由于使用了直接的奇偶帧分离,所以传统方案具有较差的单路重建质量,如图4(a)所示。另外,参考方案指的是文献“H.Bai,Yxa0Zhao,C.Zhu,A.Wang,“Multiplexa0des
criptionxa0videoxa0codingxa0usingxa0jointxa0f
ramexa0duplication/interpolation,”Computingxa0andxa0Informatics,vol.29,pp.1267-1282,2010.”中提出的帧级冗余分配方案,从图4(b)可以看到由于采用了帧级冗余分配,参考方案具有较差的中心重建质量。从图4可以看到所提出方案无论单路重建或是中心重建都取得了较好的质量。这仅仅是考虑了全部视频平均的PSNR值。实际上,所提出方案在某些帧取得了更多的改进。图5给出了所提出方案与参考方案在总比特率为400kbps情况下从200到300帧每一帧的PSNR值。可以看到所提出方案在290帧所提出方案相比参考方案取得了1010dB的增益。图6给出了“Paris.cif”序列在总比特率为400kbps到1800kbps范围内的率失真性能.从实验结果可以看出,所提出的方案相比参考方案单路重建质量有0.5-1.7dB的提高,中心重建质量有0.5-1dB的提高。虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些具体实施方式仅是举例说明,本领域的技术人员在不脱离本发明的原理和实质的情况下,可以对上述方法和系统的细节进行各种省略、替换和改变。例如,合并上述方法步骤,从而按照实质相同的方法执行实质相同的功能以实现实质相同的结果则属于本发明的范围。因此,本发明的范围仅由所附权利要求书限定。